在自动化测试中,重要的不是工具
精华推荐:重磅发布 - 自动化框架基础指南pdf
经常有人在公众号留言或是微信问我,做自动化测试用什么工具好,或是学哪门编程语言好呢?
这个时候总是无奈的说:
你应该学习Python 或是Java。
你应该掌握Selenium。
又或者你需要学会jmeter,嗯,可能LoadRunner你应该学习。
也许SoapUI是个不错的选择,或者你可是试试PostMan。
又或者直接不想鸟你,一句话都不想回。
可能事实是:这些都不重要。
这答案可能让你有点无法接受,又或者显得我在装13了。
下面将从我的工作经历、经验出发,对这个可能的事实进行些分享,期望能在你的自动化测试学习和实践的过程,提供些参考或教训,以帮助你聚焦起来,去关注一些应该关注的东西。
首先说明一点的是:专注于某种编程语言或工具可能限制你的发挥,尤其可能限制了你在工作中可提供的价值。
注:如果你可提供的价值在逐步退化,那么你的舞台可能突然谢幕。
下面我要说说这些限制体现在哪些方面,你应该如何去避免它
在2008年的时候,就已经参与到自动化测试项目中,至今已过10年了,在这10年里见尽了各种工具的突起、消失。
有些一时的兴起,然后消失;
有些慢慢的崛起,其强悍的生命力还在延续;
有些当年风光无尽,如今依然江河日下。
最终,在可预见的未来,当前所有的工具都会过时,被更好地工具所替代或是停止了维护。
因此,如果你只专注学习一门编程语言或工具,可能每隔几年甚至更短时间,就必须从头开始学习新的东西了。
所以什么最重要? 能力才是需要聚焦的!!!
你可能要说了,屁话,谁不知道能力才是根本,什么才是能力,你倒告诉我呀。
撸了个天,这就是能力。
基本原则和设计模式才是你持久输出的动力。
对于自动化测试新手而言,甚至对于一些有自动化测试经验的人来讲,面对现在大量的工具和编程语言,时时的都会感到不知所措,甚至迷茫。
各种工具你或多或少有所了解,甚至不断新出的工具都会第一时间了解到,在这些层出不穷的工具涌现的过程中,有一个非常好的消失:
很多工具都是基于相同的设计模式或原则
没错,聚焦在这相同的设计模式或原则上,而不仅仅是工具本身,这才是打造你能力的根本
下面我们看看基于相同设计模式或原则的示例:
自动化测试工具Selenium Webdriver、Cypress、CodeceptJS以及许多类似的商业的、开源的工具都在大致相同的设计或原则下运行的。 它们通过与浏览器进行交互,搜索DOM树标识元素与之进行交互,达到自动化测试的目的。
常用的模式,例如PO,即页面对象模式,也只不过是面向对象软件开发中的一些基本原则或设计模式而已。
几乎所有用于自动化测试的编程语言,本质上都是面向对象的编程语言。这就意味着它们拥有同样的特性,共享对象、方法、参数等概念,也具有面向对象的四大特性:封装、抽象、继承和多态。
如果你掌握了这些基本原则和设计模式,再去学习基于这些基础原则和设计模式上所形成的工具或编程语言,你将更加从容的游刃于各种工具和编程语言。
点击下面文字加入苦叶子的微信圈子,免费滴
加我微信入群一起交流,注明:入群,加入微信群
上一篇文章:重磅发布 - 自动化框架基础指南pdf
精选文章